package cn.yuanqiao.archive.chengguojieshou.service;

import cn.yuanqiao.archive.chengguojieshou.domain.Yqdaarticulated;
import cn.yuanqiao.archive.chengguojieshou.domain.YqdaarticulatedLog;
import cn.yuanqiao.archive.chengguojieshou.domain.YqdaarticulatedServerLog;
import com.alibaba.fastjson2.JSONObject;

import java.util.List;
import java.util.Map;

/**
 * 挂接Service接口
 *
 * @author yuanqiao
 * @date 2023-06-30
 */
public interface IYqdaarticulatedService
{
    /**
     * 查询挂接
     *
     * @param ID 挂接主键
     * @return 挂接
     */
    public Yqdaarticulated selectBjyqYqdaarticulatedByID(String ID);

    /**
     * 查询挂接列表
     *
     * @param bjyqYqdaarticulated 挂接
     * @return 挂接集合
     */
    public List<Yqdaarticulated> selectBjyqYqdaarticulatedList(Yqdaarticulated bjyqYqdaarticulated);

    public List<Yqdaarticulated> serverList(Yqdaarticulated bjyqYqdaarticulated);

    public List<YqdaarticulatedLog> getArticulatedLog(String id);

    public List<YqdaarticulatedServerLog> getServerLogList(String id);

    //public List<Map<String,Object>> getNotarticulatedList(Long categoryId);

    public List<Map<String,Object>> getNotarticulatedList(Long categoryId,Integer type);

    public Map<String, Object> articulated(JSONObject json);

    /**
     * 新增挂接
     *
     * @param bjyqYqdaarticulated 挂接
     * @return 结果
     */
    public int insertBjyqYqdaarticulated(Yqdaarticulated bjyqYqdaarticulated);

    /**
     * 修改挂接
     *
     * @param bjyqYqdaarticulated 挂接
     * @return 结果
     */
    public int updateBjyqYqdaarticulated(Yqdaarticulated bjyqYqdaarticulated);

    /**
     * 批量删除挂接
     *
     * @param IDs 需要删除的挂接主键集合
     * @return 结果
     */
    public int deleteBjyqYqdaarticulatedByIDs(String[] IDs);

    /**
     * 删除挂接信息
     *
     * @param ID 挂接主键
     * @return 结果
     */
    public int deleteBjyqYqdaarticulatedByID(String ID);
}
